The present disclosure relates generally to information handling systems (IHSs), and more particularly to memory controller-independent memory mirroring in an IHS.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an IHS. An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Currently, it is common for an IHS that handles critical data to maintain a mirrored copy of data in the system memory. For instance, when memory mirroring is enabled in an IHS, a memory controller may write a piece of data to two ranks instead of just one, where one rank is a primary rank and the other is a secondary or ‘mirror’ rank. As such, if the data in the primary rank becomes corrupted, the memory controller may retrieve the data from the ‘mirror’ rank instead of the primary rank. However, the cost of memory mirroring is relatively high because, when enabled, it is typically enabled across all memory locations within the system memory, thereby reducing system memory capacity by half. Further, memory mirroring is traditionally controlled by memory controllers, which create mirroring associations based only on the ranks of memory visible to them. In some IHSs, however, physical ranks on buffered DIMMs and risers (e.g. Load-Reduced Dual In-line Memory Modules (LRDIMMs) and 3D Through-Silicon Via (TSV) DIMMs) may be hidden from the memory controllers, and thus excluded from memory controller-configured memory mirroring. Accordingly, although memory mirroring in IHSs has been generally satisfactory, it has not been satisfactory in all respects.